In today's technological environment, it is common for people to interact with their computing devices—such as mobile telephones, laptops, tablet computers, personal digital assistants (PDAs) and the like—via a software keyboard displayed on a screen. That is, selection of the software keyboard images may be done using a touch screen. The user may tap the desired software keyboard images or may use a stylus to select the software keyboard images. In other cases, a mouse cursor may be positioned over the desired software keyboard images and those images may be clicked to enter the desired alphanumeric character.
With the popularity of such software keyboards, multilingual-based computing as a means for interacting with computer devices has begun to proliferate, ushering in a new era of user interface design. Such proliferation includes user interface designs for software keyboards that create and edit right-to-left (RTL) content (e.g., Hebrew or Arabic language text) and left-to-right (LTR) content (e.g., English language text). Using a backspace key to delete a character in only LRT content or only RTL content is straight forward because the visually displayed position of a cursor immediately trails/follows the last-typed character. For example, with LTR content, the cursor is positioned to the immediate right of the last-typed character, whereas, for RTL content, the cursor is positioned to the immediate left of the last-typed character. Thus, a user is able to easily understand which character will be deleted upon pressing the backspace key.
In some cases, LTR and RTL content may be simultaneously displayed on a screen wherein the cursor is located at the edge of the RTL and LTR content. Such multilingual content is often referred to as “bi-directional content.” Recognizing bi-directional—as opposed to unidirectional—content and visually disambiguating LTR characters from RTL characters is difficult. For example, some languages, such as Arabic, Hebrew, Farsi and Yiddish characters are written in a RTL manner. Conversely, in the English language (as well as most languages in the world) characters are written in a LTR manner. Because of the predefined appearance of a software keyboard graphical user interface (GUI), the backspaced key may always point to either the left or the right. However, when an input cursor is placed at the edge of RTL and LTR content and a user desires to delete such bi-directional content, the user does not know which character will be deleted and will sometimes delete a character they do not want to delete. It could be either the last character of the LTR content, or the last character of RTL content. Even in some RTL languages (e.g., Arabic and Hebrew), numbers are still written in a LTR manner. Thus, bi-directional content is inevitable even for single-language, RTL users.
Given the foregoing, what are needed are systems, methods and computer program products for providing a text flow sensitive backspace key for bi-directional content while interacting with a computing system.